package com.small.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.small.proxy.Proxy;

/** 
 * 清除注解  <br/>
 * 可用于方法和类、接口等
 * 所有使用了@Clear的清除拦截器方法<br/>
 * 使用当前注解会在当前类或者方法清除指定切面列表
 * <br/>请注意  方法注解一定要传入值
 * eg:<br/>
 * @Clear(TestInterceptor.class) / @Clear({TestInterceptor.class,TestInterceptor2.class})
 * @author 乐乐
 *
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Clear {
  
  /**清除注解，传入需要清除的拦截器类，可传入多个
   * @return
   */
  public Class<? extends Proxy>[] value() default {};
  
}
